home *** CD-ROM | disk | FTP | other *** search
/ EuroCD 3 / EuroCD 3.iso / Programming / SecalDemo / Inc / graphics / monitor.inc < prev    next >
Text File  |  1998-06-24  |  4KB  |  144 lines

  1. include "inc/exec/semaphores.inc";
  2. include "inc/graphics/gfxnodes.inc";
  3. include "inc/graphics/gfx.inc";
  4.  
  5. struct MonitorSpec is
  6.   ms_Node:ExtendedNode;
  7.   ms_Flags:uword;
  8.   ratioh:long;
  9.   ratiov:long;
  10.   total_rows:uword;
  11.   total_colorclocks:uword;
  12.   DeniseMaxDisplayColumn:uword;
  13.   BeamCon0:uword;
  14.   min_row:uword;
  15.   ms_Special:ulong;
  16.   ms_OpenCount:uword;
  17.   ms_transform:ulong;
  18.   ms_translate:ulong;
  19.   ms_scale:ulong;
  20.   ms_xoffset:uword;
  21.   ms_yoffset:uword;
  22.   ms_LegalView:Rectangle;
  23.   ms_maxoscan:ulong;
  24.   ms_videoscan:ulong;
  25.   DeniseMinDisplayColumn:uword;
  26.   DisplayCompatible:ulong;
  27.   DisplayInfoDataBase:List;
  28.   DisplayInfoDataBaseSemaphore:SignalSemaphore;
  29.   ms_MrgCop:ulong;
  30.   ms_LoadView:ulong;
  31.   ms_KillView:ulong;
  32. ;
  33.  
  34. def TO_MONITOR = 0;
  35. def FROM_MONITOR = 1;
  36. def STANDARD_XOFFSET = 9;
  37. def STANDARD_YOFFSET = 0;
  38.  
  39. def MSB_REQUEST_NTSC = 0;
  40. def MSB_REQUEST_PAL = 1;
  41. def MSB_REQUEST_SPECIAL = 2;
  42. def MSB_REQUEST_A2024 = 3;
  43. def MSB_DOUBLE_SPRITES = 4;
  44. def MSF_REQUEST_NTSC = (1<<MSB_REQUEST_NTSC);
  45. def MSF_REQUEST_PAL = (1<<MSB_REQUEST_PAL);
  46. def MSF_REQUEST_SPECIAL = (1<<MSB_REQUEST_SPECIAL);
  47. def MSF_REQUEST_A2024 = (1<<MSB_REQUEST_A2024);
  48. def MSF_DOUBLE_SPRITES = (1<<MSB_DOUBLE_SPRITES);
  49.  
  50. def REQUEST_NTSC = (1<<MSB_REQUEST_NTSC);
  51. def REQUEST_PAL = (1<<MSB_REQUEST_PAL);
  52. def REQUEST_SPECIAL = (1<<MSB_REQUEST_SPECIAL);
  53. def REQUEST_A2024 = (1<<MSB_REQUEST_A2024);
  54.  
  55. def DEFAULT_MONITOR_NAME = "default.monitor";
  56. def NTSC_MONITOR_NAME = "ntsc.monitor";
  57. def PAL_MONITOR_NAME = "pal.monitor";
  58. def STANDARD_MONITOR_MASK = (REQUEST_NTSC|REQUEST_PAL);
  59.  
  60. def STANDARD_NTSC_ROWS = 262;
  61. def STANDARD_PAL_ROWS = 312;
  62. def STANDARD_COLORCLOCKS = 226;
  63. def STANDARD_DENISE_MAX = 455;
  64. def STANDARD_DENISE_MIN = 93;
  65. def STANDARD_NTSC_BEAMCON = ($0000);
  66. def STANDARD_PAL_BEAMCON = (DISPLAYPAL);
  67.  
  68. def SPECIAL_BEAMCON = (VARVBLANK|LOLDIS|VARVSYNC|VARHSYNC|VARBEAM|CSBLANK|VSYNCTRUE);
  69.  
  70. def MIN_NTSC_ROW = 21;
  71. def MIN_PAL_ROW = 29;
  72. def STANDARD_VIEW_X = $81;
  73. def STANDARD_VIEW_Y = $2c;
  74. def STANDARD_HBSTRT = $06;
  75. def STANDARD_HSSTRT = $0b;
  76. def STANDARD_HSSTOP = $1c;
  77. def STANDARD_HBSTOP = $2c;
  78. def STANDARD_VBSTRT = $0122;
  79. def STANDARD_VSSTRT = $02a6;
  80. def STANDARD_VSSTOP = $03aa;
  81. def STANDARD_VBSTOP = $1066;
  82.  
  83. def VGA_COLORCLOCKS = (STANDARD_COLORCLOCKS/2);
  84. def VGA_TOTAL_ROWS = (STANDARD_NTSC_ROWS*2);
  85. def VGA_DENISE_MIN = 59;
  86. def MIN_VGA_ROW = 29;
  87. def VGA_HBSTRT = $08;
  88. def VGA_HSSTRT = $0e;
  89. def VGA_HSSTOP = $1c;
  90. def VGA_HBSTOP = $1e;
  91. def VGA_VBSTRT = $0000;
  92. def VGA_VSSTRT = $0153;
  93. def VGA_VSSTOP = $0235;
  94. def VGA_VBSTOP = $0ccd;
  95.  
  96. def VGA_MONITOR_NAME = "vga.monitor";
  97.  
  98. def VGA70_COLORCLOCKS = (STANDARD_COLORCLOCKS/2);
  99. def VGA70_TOTAL_ROWS = 449;
  100. def VGA70_DENISE_MIN = 59;
  101. def MIN_VGA70_ROW = 35;
  102. def VGA70_HBSTRT = $08;
  103. def VGA70_HSSTRT = $0e;
  104. def VGA70_HSSTOP = $1c;
  105. def VGA70_HBSTOP = $1e;
  106. def VGA70_VBSTRT = $0000;
  107. def VGA70_VSSTRT = $02a6;
  108. def VGA70_VSSTOP = $0388;
  109. def VGA70_VBSTOP = $0f73;
  110.  
  111. def VGA70_BEAMCON = (SPECIAL_BEAMCON xor VSYNCTRUE);
  112. def VGA70_MONITOR_NAME = "vga70.monitor";
  113.  
  114. def BROADCAST_HBSTRT = $01;
  115. def BROADCAST_HSSTRT = $06;
  116. def BROADCAST_HSSTOP = $17;
  117. def BROADCAST_HBSTOP = $27;
  118. def BROADCAST_VBSTRT = $0000;
  119. def BROADCAST_VSSTRT = $02a6;
  120. def BROADCAST_VSSTOP = $054c;
  121. def BROADCAST_VBSTOP = $1c40;
  122. def BROADCAST_BEAMCON = (LOLDIS|CSBLANK);
  123. def RATIO_FIXEDPART = 4;
  124. def RATIO_UNITY = (1<<RATIO_FIXEDPART);
  125.  
  126. struct AnalogSignalInterval is
  127.   asi_Start:uword;
  128.   asi_Stop:uword;
  129. ;
  130.  
  131. struct SpecialMonitor is
  132.   spm_Node:ExtendedNode;
  133.   spm_Flags:uword;
  134.   do_monitor:ulong;
  135.   reserved1:ulong;
  136.   reserved2:ulong;
  137.   reserved3:ulong;
  138.   hblank:AnalogSignalInterval;
  139.   vblank:AnalogSignalInterval;
  140.   hsync:AnalogSignalInterval;
  141.   vsync:AnalogSignalInterval;
  142. ;
  143.  
  144.